草庐IT

C++ Qt 返回空 QString

全部标签

c++ - 在 Windows Qt Project 上存储外部库的最佳实践

我正在使用Qt开发一个项目,该项目使用了许多外部库,我想知道是否有一种通用方法可以使源代码在不同机器之间具有一定的可移植性。目前,我通过QtCreator(添加库...)将各种库添加到项目中,它使用.pro文件中的相对路径。这显然不仅在我移动项目后立即停止工作,而且如果任何库路径发生变化,也不会在其他机器上工作。使用绝对路径只能解决部分问题,因为我仍然需要确保每台机器上的每个库都在同一路径下。举个例子,这是我的.pro文件目前的一部分:LIBS+=-L"c:/ProgramFiles/MicrosoftSDKs/Kinect/v1.7/lib/x86/"-lKinect10win32{

c++ - boost 文件系统错误(temp_directory_path 返回 <Bad Ptr>)

我正在尝试使用Boost获取当前的临时文件夹:boost::system::error_codeerror;autotmp_path=boost::filesystem::temp_directory_path(error);if(boost::system::errc::success!=error.value()){std::cout在visualstudio2013调试session期间调查tmp_path的值时,tmp_path的值似乎不正确-VS显示{m_pathname=}.以下代码也失败,出现异常“stringtoolong”,这可能与问题有关:std::stringtm

c++ - Boost::filesystem::is_empty() 为符号链接(symbolic link)返回 false

直到一周前,我一直在我的项目中使用Boost1.46.1。将所有内容升级到Boost1.55.0后,我注意到某些功能无法像以前那样工作。我的软件加载通过SymLinks放置的配置文件。我正在使用Microsoftmklink做这个。我今天发现虽然1.46.1版中的boost::filesystem::is_empty()为我的链接返回false,但它现在返回true在1.55.0中。不幸的是,我无法更改使用该代码的组件。结果是我的配置文件不再加载。有没有办法以Boost能够识别的方式创建链接?如果我可以访问代码:我需要如何更改它才能再次运行?更新:回复评论的更多信息:SymLink有效

python - 为什么 os.path.expanduser 不返回主目录?

我正在制作一个python桌面应用程序,它将日志作为.csv文件保存在Windows上用户的文档文件夹中。该应用程序是用python2.7和kivy1.8.0编写的,使用pyinstaller2.1打包为Windows程序,安装程序使用InnoSetupCompiler制作。在这篇文章中,我将用USER替换用户的真实姓名。我有以下几行代码:DOCUMENTS=os.path.expanduser('~\\Documents\\')printDOCUMENTSwithopen(DOCUMENTS+'data_log.csv','ab')asf:dostuff在我的计算机和我测试过的另一台

c++ - windows 7和msvc下编译QT 5.3.2

我使用的是msvc2013(ultimate-64位)、windows764位。我通过msvc2013(64位)编译了icu4c54.1。现在我尝试编译qt5.3.2-everywhere-opensource-src(我在那里添加了补丁(我替换了QWebFrame.cpp))我使用了visualstudio的CMD开发者工具。---我执行了这些命令:cdD:\qtd:configure-prefixD:\Qt\Qt_making-platformwin32-msvc2013-opensource-c++11-maketools-makelibs-qt-sql-sqlite-no-op

windows - 相对文件路径差异 : debug mode and release mode of Qt Creator

QFilefile("test.txt");if(file.open(QIODevice::ReadOnly)){qDebug()我正在使用:Qt4.8.6和MSVC2010QtCreator3.1.1Windows7(32位)从上面的代码来看,如果.pro文件没有改动,对应的build目录对于Debug模式:D:\...\build-Main-MSVC2010-Debug而Debug模式的.exe会位于D:\...\build-Main-MSVC2010-Debug\debug对于Release模式:D:\...\build-Main-MSVC2010-Release而Release

c++ - Qt QextSerialPort 静态库

如何为Windows平台制作QextSerialPort静态库以与Qt4.8.5一起使用我不明白如何修改.pro或.pri文件来执行此操作。(.prf文件不断重新生成)。所以我尝试修改生成的.vcproj文件以进行静态构建,并删除了一些定义,但我仍然收到如下警告:qextserialport.lib(qextserialport.obj):warningLNK4006:"public:__thiscallQextSerialPort::QextSerialPort(classQStringconst&,enumQextSerialPort::QueryMode,classQObject

java - file.exists 在 Windows 和 Linux 上返回不同的结果

我知道在文件名周围附加空格在技术上是一个错误,但我只想知道为什么以下代码在Windows上返回true,而在Linux上返回false:publicstaticvoidmain(String[]args){Filefile=newFile("some_file_that_exists");//notethewhitespaceattheendSystem.out.println(file.exists());}我正在使用带有jdk1.6.0_31的Windows764位,并在带有jdk1.6.0_06的Linux2.6.18上重试。请注意,该文件的名称末尾没有空格。

windows - 从 Win32_NetworkLoginProfile 返回错误的 LastLogon

使用WMIExplorer(或任何其他工具),我用户的LastLogon时间戳显示的是过时值而不是当前日期(因为我目前正在使用这台PC):SELECT*FROMWin32_NetworkLoginProfile--LastLogon=20150212180405.000000+120同时,其他域用户被列为LastLogon作为当前日期,所以这只是我的用户的问题。另一方面,NetUsers正在按预期报告当前日期:DOMAIN\userusername2015/03/1010:14WMI错误结果的原因是什么?环境:Win7x64,域用户添加到本地管理员组。 最佳

c++ - 无法在qt之外运行应用程序

这个问题在这里已经有了答案:HowtocompileQt5underWindowsorLinux,32or64bit,staticordynamiconVisualStudioorg++(1个回答)DeployingQt5ApponWindows(2个答案)关闭7年前。我什至无法在QT之外运行HelloWorld.exe。我通过QTCreator5.4.2对其进行编码。从QTcreator构建和运行工作正常。但是当我试图在QT之外运行生成的可执行文件时,我的意思是直接在桌面上运行,它一直给我错误,比如缺少库。通过网络搜索我知道我需要做一些静态构建。请帮助我。请清楚地描述步骤0到N,以免